# Created by Bloodshed
# Update by pmq
# High Five 11-2-2011
import sys

from com.l2jserver.gameserver.model.quest           import State
from com.l2jserver.gameserver.model.quest           import QuestState
from com.l2jserver.gameserver.model.quest.jython    import QuestJython as JQuest
from com.l2jserver.gameserver.network.serverpackets import ExStartScenePlayer

qn = "192_SevenSignSeriesOfDoubt"

# NPCs
CROOP        = 30676  # 仓库管理员老板 库罗普
HECTOR       = 30197  # 警卫 黑克
STAN         = 30200  # 警卫 史坦
CORPSE       = 32568  # 可疑的尸体 雅各
HOLLINT      = 30191  # 大神官 霍尔林特
# ITEMS
CROOP_INTRO  = 13813  # 库罗普的推荐函
JACOB_NECK   = 13814  # 雅各的项链
CROOP_LETTER = 13815  # 库罗普的慰灵祭邀请信函

# 仓库管理员老板 库罗普 对话
# CROOP STARTED npc Html Diskplay NC Window
# 30676-03.htm
croop_03 = "<html><body>仓库管理员老板 库罗普：<br>谢谢你！那么我就毫不保留的全部说你听吧。<br>不过，我还真怕有人听到呢..你就靠过来一点..<br>其实，最近一直都在发生<font color=\"LEVEL\">可疑的连续死亡事件</font>。而那个可疑的连续死亡事件...就是<font color=\"LEVEL\">有个奇怪的怪人专杀矮人契约官们</font>...<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt 8\">继续聆听庳罗普说的话</a></body></html>"
# 30676-04.htm
croop_04 = "<html><body>仓库管理员老板 库罗普：<br>既然你要帮我寻找我的表弟雅各...那我就毫不保留的全部说你听吧。<br>不过，我还真怕有人听到呢..你就靠过来一点..<br>其实，最近一直都在发生<font color=\"LEVEL\">可疑的连续死亡事件</font>。而那个可疑的连续死亡事件...就是<font color=\"LEVEL\">有个奇怪的怪人专杀矮人契约官们</font>...<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt 8\">继续聆听庳罗普说的话</a></body></html>"
# 30676-05.htm
croop_05 = "<html><body>仓库管理员老板 库罗普：<br>这不是很奇怪吗？？竟然会<font color=\"LEVEL\">有个奇怪的怪人专杀矮人契约官们</font>...因此，我也不能就这样等待身为契约官的表弟雅各，所以到处去打听了一下。<br>就这样，我辗转听到了传闻，说最近也有人在这附近目睹了那个怪人。<br>而且，有关那个传闻，好像此地的<font color=\"LEVEL\">警卫黑克</font>很清楚。你去找他看看吧。他正在此地<font color=\"LEVEL\">欧瑞城镇的北边入口</font>看守..<br>他是个警卫，所以若空手去找他的话，他一定会提防你的，我来给你写张推荐函吧..<br>啊...我只能祈祷，我的表弟雅各没有处于那令人不敢想像的危险状况里。</body></html>"
# 30676-06.htm
croop_06 = "<html><body>仓库管理员老板 库罗普：<br>还没找到雅各啊...<br>那么不要在此地耽搁，赶快出发去找我的表弟雅各的下落...<br>只要帮我找到我的表弟雅各，我一定会答谢你的..赶快出发吧....一刻也不能耽误。</body></html>"
# 30676-07.htm
croop_07 = "<html><body>仓库管理员老板 库罗普：<br>哦！！！是你呀。咦，我的表弟雅各在哪里呢？我以为你们会一起来的..<br>咦！！你的脸色怎么会这么阴暗呢？难道，在雅各身上发生了什么问题吗？<br>到底发生了什么事情，赶快告诉我。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt croop_08\">其实...当我发现雅各时，他已死去</a></body></html>"
# 30676-08.htm
croop_08 = "<html><body>仓库管理员老板 库罗普：<br>啊...居然会发生如此悲伤的事情...不可以...<br>雅各竟然会死去...不可能的...那么善良的家伙竟然会死去...<br>那么，雅各的尸体是在哪里发现的呢？<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt croop_09\">是在欧瑞城东方附近发现的</a></body></html>"
# 30676-09.htm
croop_09 = "<html><body>仓库管理员老板 库罗普：<br>知道了...那么我得迟早派人去收回尸体才行...<br>不过，怎么会发生如此令人悲伤的事情！！！我该怎么跟家人和亲友交代...<br>唉..我这坚强的矮人，竟然会在你面前流泪...<br>雅各他是个特别开朗的家伙...我一直认为他的前途会是明朗的...<br>莫非..你有带回能证明那个尸体就是我们雅各的凭证吗？或许..或许..那个尸体也有可能不是我们雅各的呀！！！<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt croop_10\">我有带回看似遗物的物品</a></body></html>"
# 30676-10.htm
croop_10 = "<html><body>仓库管理员老板 库罗普：<br>噢..这确实是雅各的项链...这下连我的一丝希望也消失了..<br>这项链..其实是在雅各被任命为契约官的那一天，我送他的礼物。<br>还在这背面刻上了J这个字母。<br>总之，虽然是以悲剧收场..但我真不知该如何感谢你为我找到雅各..<br>不过...虽然对你..有点惭愧...但有件事我还想拜托你...你能接受我的要求吗？<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt croop_11\">请说说看</a></body></html>"
# 30676-11.htm
croop_11 = "<html><body>仓库管理员老板 库罗普：<br>收回尸体可能需要花很长的时间。因为我得联络亲人，而且还要派人过去。<br>所以在那之前，我想拜托你为雅各先举行慰灵祭。<br>在收回尸体之前，如果我不做任何可以安抚那可怜家伙的灵魂的事情...我会很伤心的...<br>举行慰灵祭并不是件麻烦的事，<br>只要去找<font color=\"LEVEL\">殷海萨神殿的大神官霍尔林特</font>，向他拜托慰灵祭就可以了。<br>你能为雅各举行慰灵祭吗？<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt croop_12\">好的，我会举行慰灵祭的</a></body></html>"
# 30676-12.htm
croop_12 = "<html><body>仓库管理员老板 库罗普：<br>真的非常感谢你。你不愧是个具有热心肠的冒险家啊。我看人的眼光还真是出色。<br>那么，雅各的项链就交给我吧。我会事先派个人转交给此地<font color=\"LEVEL\">欧瑞城镇</font>的<font color=\"LEVEL\">殷海萨神殿的大神官 霍尔林特</font>。<br>还有，有关你好心为我寻找雅各的酬劳，以及包括进行慰灵祭的酬劳，我都会转交给霍尔林特。就算我是个矮人，在表示诚意方面，我也不会亏待像你这样的冒险家，这你不用担心。<br>为了找雅各你一定也筋疲力尽了..那么找个地方解解渴，然后再去找<font color=\"LEVEL\">大神官 霍尔林特</font>吧。<br>那么，雅各的慰灵祭就好好拜托你了。真是辛苦你了。</body></html>"
# 30676-13.htm
croop_13 = "<html><body>仓库管理员老板库罗普：<br>我刚刚从神官凯因那里听到了消息，他说多亏有你的帮助，才能顺利完成了我那可怜的表弟雅各的慰灵祭。<br>我那可怜的表弟--雅各的死亡，虽然以悲剧收场，但对于像你这样的冒险家协助我们的事情，我们依然心存感激。<br>愿你的前途充满祝福。</body></html>"
# 警卫 黑克 对话
# HECTOR STARTED npc Html Diskplay NC Window
# 30197-01.htm
hector_01 = "<html><body>警卫 黑克：<br>陌生人啊..您为何事来找我搭话呢？！<br>我是守护这村庄关口的人...我们不是那种游手好闲的人随便就可交谈的人。<br>那是其次，您倒是看来满面都是疑惑。<br>不过，在出示任何一个可以证明自己身份的证据之前，我们不会轻易交出警卫的宝贵情报。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt hector_02\">我带来了庳罗普的推荐函</a></body></html>"
# 30197-02.htm
hector_02 = "<html><body>警卫 黑克：<br>哦！！！这推荐函！！！一看这签名，的确是我老朋友库罗普的推荐函。<br>那么，我把我所知道的告诉您好了。<br>不久前，我从我的警卫朋友那里听到了一个奇怪的事情。<br>他在前几天的夜晚到欧瑞地附近散步，然后他说他看到了至今从未见过的怪人，在他眼前非常迅速的闪了过去。<br>如果雅各的失踪和那怪人有连贯性的话...那最好还是去找我的朋友问问详情。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt hector_03\">您那朋友是谁呢？</a></body></html>"
# 30197-03.htm
hector_03 = "<html><body>警卫 黑克：<br>那个朋友就是看守这<font color=\"LEVEL\">欧瑞城南边</font>入口的<font color=\"LEVEL\">警卫史坦</font>。<br>可是，那个朋友说的是不是真的，我也不太确定。虽然他是个警卫，但嘴巴很轻浮..平常也很爱吹牛...所以说，或许他只不过是瞧见了被灯火照耀的狐狸后，吹牛说是看到了怪人也说不定呢。<br>不管怎么样，您去找他看看吧。还有，那个推荐函就请您交给我，那家伙嘴巴很轻浮，就算您不给他推荐函，只要一问到怪人的事情，他就会马上说漏嘴了。<br>那么，请您赶快去找<font color=\"LEVEL\">欧瑞城南边</font>入口的<font color=\"LEVEL\">警卫史坦</font>吧。</body></html>"
# 30197-04.htm
hector_04 = "<html><body>警卫 黑克：<br>我刚才也有说过..我的朋友<font color=\"LEVEL\">警卫史坦</font>在看守<font color=\"LEVEL\">欧瑞城南边</font>的入口。<br>其他的我也没办法再告诉您了。反正我也不是亲眼目睹那怪人的人，<br>所以，您就不要再来烦我了。</body></html>"
# 警卫 史坦 对话
# STAN STARTED npc Html Diskplay NC Window
# 30200-01.htm
stan_01 = "<html><body>警卫 史坦：<br>哎呀，吓死我了！！！怎么会突然出现在眼前啊！！！我还以为我的心脏要停住了呢。<br>什么？黑克？是我的朋友黑克介绍我的？<br>黑克他到底是为了什么事，会把我介绍给你啊？你就别吓人了，赶快说吧。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt stan_02\">听说在前几天您目睹了怪人，所以才会来拜访的</a></body></html>"
# 30200-02.htm
stan_02 = "<html><body>警卫 史坦：<br>怪人？你是怎么知道的啊？我看啊，一定是黑克说的..<br>反正，也没什么不能说的，我就把我看到的全都告诉你吧。其实，我本来就有点小家子气，<br>但这样的我，竟然喜欢上了一个人。不过呢，由于我的个性，要向他人表白实在是不简单。<br>所以，在前几天的晚上，因为烦恼如何向她表白的事，没能轻易地入睡。<br>所以想到，若能看到月光下的<font color=\"LEVEL\">欧瑞城</font>，或许会让我静下心来，而且也能想得出浪漫的表白方式，于是就到城堡附近散步去了。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt stan_03\">请继续说下去</a></body></html>"
# 30200-03.htm
stan_03 = "<html><body>警卫 史坦：<br>那天晚上，我到了<font color=\"LEVEL\">欧瑞城</font>，正望着那雄壮的城堡。但是，突然在黑暗之中感觉到了诡异的动静。<br>就在那时，突然在我眼前出现了一个，在我做警卫的这段时间从未见过的怪人，他就在我眼前迅速的闪了过去...<br>当他与我擦肩而过时，从他身上所散发的黑间气息，让我感到毛骨悚然。<br>再加上，他的行动不知有多快...我把这件事告诉过黑克，但他却玩弄我，说我看到的是幻觉呢。但是，我肯定那天晚上看到的绝对不是幻觉。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt stan_04\">大概在欧瑞城的什么地方？</a></body></html>"
# 30200-04.htm
stan_04 = "<html><body>警卫 史坦：<br>是在<font color=\"LEVEL\">欧瑞城东方的周围</font>。<br>不知道你是为何会问起有关怪人的事情，但若是要前往那个地方的话，你可千万要小心啊。不知道他会躲在哪里，很有可能会突然蹦出来的。<br>以我身为警卫这个职业的特性上，我对人和怪物的感觉是很正确的..那个怪人让我感觉到了近乎极度邪恶的气息。<br>总之，我所目睹的那个怪人，是在<font color=\"LEVEL\">欧瑞城东方的周围</font>。<br>那么，我的话就说到这里，我得集中精神来维护这个村庄。</body></html>"
# 30200-05.htm
stan_05 = "<html><body>警卫 史坦：<br>还有话要问我吗？但我可不是那么悠闲的人喔。<br>我不是说过了吗？！！那天晚上，我是在<font color=\"LEVEL\">欧瑞城东方的周围</font>目睹了那个怪人。其他的情报我就不知道了。<br>所以，如果你问完了，那就请你赶快离开我的视线范围。<br>我是个非常忙碌的人。</body></html>"
# 可疑的尸体 雅各 对话
# CORPSE STARTED npc Html Diskplay NC Window
# 32568-01.htm
corpse_01 = "<html><body>可疑的尸体：<br>调查过尸体，但没有找到可以代表身分的物品。<br>再次详细地查看尸体，尸体紧握的右手进入了我的视线。<br>好像是在紧握着某种东西。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt corpse_02\">打开紧握的右手</a></body></html>"
# 32568-02.htm
corpse_02 = "<html><body>可疑的尸体：<br>一打开紧握的右手，发现手中有个沾血的项链。<br>查看项链的背面，发现明显地刻有雅各这名字的第一个字母J。<br>这好像就是雅各的尸体。<br>从尸体拿起项链作为证据。</body></html>"
# 大神官 霍尔林特 对话
# HOLLINT STARTED npc Html Diskplay NC Window
# 30191-01.htm
hollint_01 = "<html><body>大神官 霍尔林特：<br>愿殷海萨的祝福与你同在...你来找我有什么事？<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt hollint_02\">出示库罗普的慰灵祭邀请信函</a></body></html>"
# 30191-02.htm
hollint_02 = "<html><body>大神官 霍尔林特：<br>哦！！！我从我的老友--库罗普刚接到通知。<br>听说您找到了库罗普的表弟雅各的尸体啊...年轻的朋友，能力还真是了不起啊。<br>对了，您看看我这个老人家多没精神。库罗普交代过我，等您到达之后，首先要我对您表示谢意，就是有关找回表弟雅各和举行慰灵祭的事情...<br>但是，在那之前还是先给我库罗普的邀请信函吧。不管什么事情，清楚一点是最好的。<br><a action=\"bypass -h Quest 192_SevenSignSeriesOfDoubt hollint_03\">转达慰灵祭邀请信函</a></body></html>"
# 30191-03.htm
hollint_03 = "<html><body>大神官 霍尔林特：<br>来，这里有库罗普表示谢意而寄给我的东西。<br>您能为我的老友减轻了很大的担忧，我也是非常的感激。<br>只不过，举行慰灵祭需要花很长的时间，所以等你有空的时候再来找我吧。<br>不过，希望您不要来得太晚。</body></html>"

class Quest (JQuest) :

	def __init__(self,id,name,descr):
		JQuest.__init__(self,id,name,descr)
		self.questItemIds = [CROOP_INTRO, JACOB_NECK, CROOP_LETTER]

	def onAdvEvent (self,event,npc,player) :
		htmltext = event
		st = player.getQuestState(qn)
		if not st : return

		if event == "croop_03" :
			htmltext = croop_03
			st.set("cond","1")
			st.setState(State.STARTED)
			st.playSound("ItemSound.quest_accept")
		elif event.isdigit() :
			if int(event) == 8 :
				st.set("cond","2")
				st.playSound("ItemSound.quest_middle")
				player.showQuestMovie(int(event))
				self.startQuestTimer("playertele", 32000, None, player) # 修正动画后看不到NPC
				return ""
		elif event == "playertele" :
			player.teleToLocation(81654,54848,-1514) # 修正动画后看不到NPC传送
			return ""
		elif event == "hector_03" :
			htmltext = hector_03
			st.set("cond","4")
			st.takeItems(CROOP_INTRO,1)
			st.playSound("ItemSound.quest_middle")
		elif event == "stan_04" :
			htmltext = stan_04
			st.set("cond","5")
			st.playSound("ItemSound.quest_middle")
		elif event == "corpse_02" :
			htmltext = corpse_02
			st.set("cond","6")
			st.giveItems(JACOB_NECK,1)
			st.playSound("ItemSound.quest_middle")
		elif event == "croop_12" :
			htmltext = croop_12
			st.set("cond","7")
			st.takeItems(JACOB_NECK,1)
			st.giveItems(CROOP_LETTER,1)
			st.playSound("ItemSound.quest_middle")
		elif event == "hollint_03" :
			htmltext = hollint_03
			if player.getLevel() < 79 :
				htmltext = "<html><body>大神官 霍尔林特：<br>等级达到79以上，且正在进行“七封印，可疑的连续死亡事件”任务的角色才有权限查看。</body></html>"
			else :
				st.takeItems(CROOP_LETTER,1)
				st.addExpAndSp(52518015,5817677)
				#st.addExpAndSp(25000000,2500000)  # 嗨翻天 经验值
				st.unset("cond")
				st.setState(State.COMPLETED)
				st.exitQuest(False)
				st.playSound("ItemSound.quest_finish")
		#  仓库管理员老板 库罗普
		elif event == "croop_04" :
			htmltext = croop_04
		elif event == "croop_05" :
			htmltext = croop_05
		elif event == "croop_06" :
			htmltext = croop_06
		elif event == "croop_07" :
			htmltext = croop_07
		elif event == "croop_08" :
			htmltext = croop_08
		elif event == "croop_09" :
			htmltext = croop_09
		elif event == "croop_10" :
			htmltext = croop_10
		elif event == "croop_11" :
			htmltext = croop_11
		elif event == "croop_12" :
			htmltext = croop_12
		# 警卫 黑克
		elif event == "hector_01" :
			htmltext = hector_01
		elif event == "hector_02" :
			htmltext = hector_02
		elif event == "hector_03" :
			htmltext = hector_03
		elif event == "hector_04" :
			htmltext = hector_04
		# 警卫 史坦
		elif event == "stan_01" :
			htmltext = stan_01
		elif event == "stan_02" :
			htmltext = stan_02
		elif event == "stan_03" :
			htmltext = stan_03
		elif event == "stan_04" :
			htmltext = stan_04
		elif event == "stan_05" :
			htmltext = stan_05
		# 可疑的尸体 雅各
		elif event == "corpse_01" :
			htmltext = corpse_01
		elif event == "corpse_02" :
			htmltext = corpse_02
		# 大神官 霍尔林特
		elif event == "hollint_01" :
			htmltext = hollint_01
		elif event == "hollint_02" :
			htmltext = hollint_02
		elif event == "hollint_03" :
			htmltext = hollint_03
		return htmltext

	def onTalk (self,npc,player) :
		htmltext = Quest.getNoQuestMsg(player) 
		st = player.getQuestState(qn) 
		if not st : return htmltext

		npcId = npc.getNpcId()
		id = st.getState()
		cond = st.getInt("cond")

		if id == State.COMPLETED :
			if npcId == CROOP :
				htmltext = croop_13
		elif id == State.CREATED :
			if npcId == CROOP and cond == 0:
				if player.getLevel() >= 79 :
					htmltext = "30676-01.htm"
				else :
					htmltext = "30676-00.htm"
					st.exitQuest(True)
			elif npcId == CORPSE and cond == 0:
				htmltext = "32568-03.htm"
				st.exitQuest(True)
		elif id == State.STARTED :
			if npcId == CROOP :
				if cond == 1 :
					htmltext = croop_04
				elif cond == 2 :
					htmltext = croop_05
					st.set("cond","3")
					st.playSound("ItemSound.quest_middle")
					st.giveItems(CROOP_INTRO,1)
				elif cond in [3,4,5] :
					htmltext = croop_06
				elif cond == 6 :
					htmltext = croop_07
			elif npcId == HECTOR :
				if cond == 3 :
					htmltext = hector_01
				elif cond in [4,5,6,7] :
					htmltext = hector_04
			elif npcId == STAN :
				if cond == 4 :
					htmltext = stan_01
				elif cond in [5,6,7] :
					htmltext = stan_05
			elif npcId == CORPSE :
				if cond in [1,2,3,4] :
					htmltext = "32568-04.htm"
				elif cond == 5 :
					htmltext = corpse_01
			elif npcId == HOLLINT :
				if cond == 7 :
					htmltext = hollint_01
		return htmltext

QUEST	= Quest(192,qn,"七封印，可疑的连续死亡事件")

QUEST.addStartNpc(CROOP)
QUEST.addStartNpc(CORPSE)

QUEST.addTalkId(CROOP)
QUEST.addTalkId(HECTOR)
QUEST.addTalkId(STAN)
QUEST.addTalkId(CORPSE)
QUEST.addTalkId(HOLLINT)